package org.dbstar.scheduler.identifier;

import org.dbstar.scheduler.job.IllegalFactoryException;

/**
 * 标识的工厂类
 * 
 * @author 代波
 * @since 1.0.0
 * @version 1.0.0
 * @date 2012-3-22
 */
public interface IdentifierFactory {
	/**
	 * 获得系统标识，每次系统启动后会生成一个唯一的系统标识，并且在系统关闭前保持不变。
	 * 
	 * @return 系统标识
	 */
	public abstract String getSystemIdentifier();

	/**
	 * 创建一个新的指定类型的标识。
	 * 
	 * @param identifierType 标识类型
	 * @return 新的标识
	 * @throws IllegalFactoryException 若无法正确构建时抛出
	 */
	public abstract Identifier createIdentifier(IdentifierType identifierType) throws IllegalFactoryException;
}
